package com.amsp.oa.common.valid;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.ElementType.TYPE_USE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * @PROJECT_NAME: oa-test
 * @DESCRIPTION: 不要自卑，你不比别人笨。不要自满，别人不比你笨。
 * 与其羡慕别人，不如提升自己。
 * 今日事，今日毕。
 * @USER: YanJiaWei
 * @VERSION: V1.0
 * @DATE: 2025/3/10 09:03
 */

@Documented
@Constraint(validatedBy = {IntegerValueConstraintValidator.class})
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
@Retention(RUNTIME)
public @interface IntegerValue {
    String message() default "{amsp.valid.CategoryEnumValue.message}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    int [] vals() default {};
}
